The present invention pertains in general to systems of parallel printers and, more particularly, to a plurality of processors in the printing system arranged in parallel to perform conversion processing for very large jobs in a parallel manner.
In the area of multi-processing one of the ongoing challenges is to develop methods and workflows that lend themselves to efficient uses of parallel processing. Today one of the most popular methods for describing documents, especially for printed delivery, is the well known PostScript(copyright) produced by Adobe Systems Incorporated. PostScript(copyright) has many benefits and is almost universally employed in many print markets today. However, it has a limitation which creates a significant barrier to efficient parallel processing. That limitation is created by the fact that within a PostScript(copyright) file, the boundaries and content of individual pages is buried within the file and can only be determined by processing the PostScript(copyright) file in some manner to establish the page boundaries and content. One popular method to do this is to transform or convert a PostScript(copyright) file into a portable document format (PDF) file, typically referred to as a xe2x80x9cdistillingxe2x80x9d operation. This allows the page boundaries in a multi-page job to be established and thus allows multiple interpreters to operate on the pages individually, thus facilitating parallel processing. However, if the object is to process a job faster, one must take into account the time necessary to convert from a page dependent format as in the PostScript(copyright) file to the desired page independent format as in a PDF file. This added conversion time will add to the overall time to complete the job.
The present invention disclosed and claimed herein comprises a system and method for parallel conversion processing of a print job in a print system having a plurality of RIP engines, comprising the steps of: defining the print job for RIP of select portions of the print job in parallel; partitioning the print job into select portions according to defined boundaries; generating a substitute RIP instruction for each select portion of the print job; and processing the RIP requirements of each select portion in an assigned one of the plurality of RIP engines according to the substitute RIP instruction.
In one aspect of the present disclosure, the step of defining the print job comprises the steps of: spooling the print job file into storage; updating the documented information in a job control file associated with the print job file; and processing the documented information obtained from the job control file.
In another aspect of the present disclosure, the step of partitioning the print job comprises the steps of: determining whether single or multiple RIP is to be performed; partitioning the job into one or more select portions to be RIPed if a multiple RIP is to be performed, wherein at least a portion less than all of the print job is selected for processing; and defining the RIP requirements for each select portion of the print job.
In another aspect of the present disclosure, the step of generating a substitute RIP instruction comprises the steps of configuring the substitute RIP instruction to perform RIP only upon an identified select portion of the print job; resetting the predefined operator instructions associated with the print job file as input to the print system; appending the substitute RIP instruction associated with each identified select portion of the print job to the print job; and selecting a RIP engine to perform RIP upon each identified select portion of the print job.
In another aspect of the present disclosure, the step of processing the RIP requirements of each select portion comprises the steps of distributing the print job in parallel replication, each print job replication having appended thereto a particular substitute RIP instruction associated therewith, to each select one of a plurality of RIP engines associated with the identified select portion of the print job to be RIPed in parallel; performing, in each select one of the plurality of RIP engines, the RIP of the print job distributed to each select one of the plurality of RIP engines; and rendering each select portion of the print job for which RIP according to the substituted RIP instruction was performed.